package Enea.project;

/**
* La clase mantiene le informazioni legate al risultato dell'elaborazione di una Work Unit.
*
* @author Davide Aversa
* @version 0.1
*/
public class ResultsPack {

    private long sizebyte;
    private long sizepu;
    private String data;
    private WorkUnit wu;

    /**
     * Costruttore della classe ResultsPack.
     * 
     * @param sizebyte La dimensione in byte del risultato.
     * @param sizepu La dimensione in Primary Unit del risultato.
     * @param data La codifica del risultato.
     */
    public ResultsPack(long sizebyte, long sizepu, String data) {
        this.sizebyte = sizebyte;
        this.sizepu = sizepu;
        this.data = data;
    }

    /**
     * Getter di WU.
     * @return La Work Unit associata, se esiste.
     */
    public WorkUnit getWU() {
        return wu;
    }

    /**
     * Setter di WU. Funziona soltanto se il risultato non è associato a nulla.
     * @param wu Il collegamento alla work unit associata.
     */
    public void setWU(WorkUnit wu) {
        if (this.wu==null) this.wu = wu;
    }

    /**
     * Getter di Data.
     * 
     * @return Restituisce la variabile data.
     */
    public String getData() {
        return data;
    }

    /**
     * Getter di Sizebyte.
     * 
     * @return Restituisce la variabile sizebyte.
     */
    public long getSizebyte() {
        return sizebyte;
    }

    /**
     * Getter di Sizepu.
     * 
     * @return Restituisce la variabile sizepu.
     */
    public long getSizepu() {
        return sizepu;
    }

}